package continuity;

/**
 * Zetor csapat szekelton
 * 
 * A program célja hogy a modellről eldönthető legyen, hogy a feladat egy helyes
 * megoldását nyújtja.
 * 
 * @author Balogh Peter Tamas
 * @author Gál István László
 * @author Kárász Gábor
 * @author Simon Endre András
 * @author Szabó Alex
 */
public class Level {


    private LevelItem[][] levelitems;
    private LevelItem activelevelitem;
    private int EmptyItemPos_x;
    private int EmptyItemPos_y;
    private int sizeX;
    private int sizeY;
    private int size;
    private Character character;
    private Game game;
    /**
     * 
     */
    static public String className = "Level";
    /**
     * 
     */
    public String name;

    /**
     * 
     * @param n
     */
    public Level(String n) {
        name = n;
        sizeX=2;
        sizeY=2;
        size=0;
        levelitems = new LevelItem[sizeX][sizeY];
    }

    public Level(Game g, String n) {
        name = n;
        game = g;
    }
    //meretek lekerdezese
    public int getSIzeX() {return sizeX;}
    public int getSIzeY() {return sizeY;}
    public int getSize() {return size;}
    /**
     * 
     * @param dir
     */
    public void moveEmptyItem(int dir) {
    }

    /**
     * 
     */
    public LevelItem getActiveItem() {
        return activelevelitem;
    }
    // ne lekeredezese
    public String getName() {return name;}
    //elemek lekerdezese
    public LevelItem[][] getLevelItems() {
        return levelitems;
    }

    /**
     * 
     * @param i
     */
    public void setActiveItem(LevelItem i) {
        activelevelitem = i;
    }

    /**
     * 
     * @param c
     */
    public void addCharacter(Character c) {
        String classInfo = name + "(" + className + ")::addCharachter(Character c): void";
        character = c;
    }

    /**
     * Palyaelem hozzaadasa a palyahoz
     * @param l
     */
    public void addLevelItem(LevelItem l) {
        String classInfo = name + "(" + className + ")::addLevelItem(): void";
        levelitems[l.getPos_x()][l.getPos_y()] = l;
        
        //ha meg nincs hozzadva item, akkor az egyetlen levelitem lesz
        // az aktualis is.
        if(size==0) activelevelitem = l;
        size++;
    }

    /**
     * 
     */
    public void Tick() {

    }

}
